package com.kylin.common.core.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 序列化输出
 *
 * @author wuhao
 * @version 1.0 - 2019-08-19
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface JSONSerialized {

    /**
     * 设置需要过滤的类
     */
    Class<? extends Object> clazz() default void.class;

    /**
     * 需要包含的字段
     */
    String[] includes() default {};

    /**
     * 需要过滤的字段(暂时未实现)
     */
    String[] excludes() default {};

    /**
     * 数据是否需要加密(暂时未实现)
     */
    boolean encode() default false;

}
